呈上篇,我們已經用 pip install
安裝 Django 框架,用指令安裝套件總給人一種空虛感,畢竟完成後不會在桌面上產生一個新圖示。接下來我們先來啟用這個框架吧,操作以下指令前要記得先進入虛擬環境!
在 Django 的設計邏輯裡,建立 Project 像是在島中 (虛擬環境) 蓋了一間空屋子,之後的一切布置活動都會在屋子中進行:
$ django-admin startproject hulolo
hulolo
可以由使用者自訂 Project 的名稱,給你的屋子起個名字吧!不要設太長,也應避免空白,寫程式的時候命名盡可能不要有空白與中文,有可能為日後發生神奇的錯誤埋下種子
來看看執行後發生了什麼事情,程式建立了一個名為 hulolo
資料夾、manage.py
檔案,進入 hulolo
資料夾後還發現了又一個名為 hulolo
資料夾,裡面包含數個 py
檔案:
同樣照建立屋子的邏輯,內層的同名的 hulolo 資料夾就像是屋子配電箱的功能,裡面有關於整個專案的參數設定、部署、目錄網址編輯。外層的
manage.py
則像是家門的信箱,在之後我們會介紹如何在指令中請他協助啟動網站與處理資料。總結來說,Django 建立了一個大 hulolo 與小 hulolo 資料夾,以及數個檔案。
小島🏝️有了,屋子🏠也蓋了,配電箱也裝了,信箱📬也有了,看來就欠房間跟家具了。
App (Application) 就像是屋子中的房間,在程式的概念中,可以想像成這個專案的各種功能,會員功能、與聊天機器人互動功能、累積點數功能、投稿評價功能等,開發者可以根據喜歡將劃分房間,這樣的思維在專案裡會用不同的資料夾分別放置。
首先我們先建立一個與聊天機器人互動的功能 App:
$ python manage.py startapp chatbot
注意到了嗎?在這邊使用了
manage.py
📬 請 Django 協助創立一個 App,這個 App 的名字可由使用者自訂,在這邊我們訂為chatbot
。另外,執行這個指令的時候記得要在與manage.py
同一層的位置,或是也可以利用相對路徑呼叫manage.py
,如果你對路徑概念還不熟悉,請 Google 搜尋 cd / 相對路徑 / 絕對路徑 + linux 關鍵字。
輸入之後會看到新資料夾的產生以及數個 Python 檔案:
Django 是許多企業所使用的框架,在大型專案中會有更多使用情境 (例如單元測試等),圖中我將本系列較少使用到的檔案,以及為了運行程式所產生的輔助檔案,都會以灰色標示,讀者只要專注深色與藍色資料夾即可。
別被很多檔案嚇到了,接下來的日子我們會聚焦在 views.py
、models.py
以及 admin.py
。
其實 Django 有預設一個起始的首頁,讓使用者安裝完後,可以測試啟動網站,確認程式一切都有正常運行,輸入完以下指令後,就會啟動一個臨時網頁伺服器:
$ python manage.py runserver
成功後的訊息:
September 18, 2024 - 16:31:31
Django version 5.1.1, using settings 'hulolo.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
試著在瀏覽器網址列輸入http://127.0.0.1:8000/
,看到這樣就成功啦:
是的,Django 主要是拿來架設網站,搭建機器人算是其中的一小功能,一個不小心你也學會如何架設網站了呢~
有沒有發現似乎啥都還沒開始,就多了一堆檔案?
這就是程式設計中非常重要的模組化 (modular programming) 觀念,上程式課時會常將所有程式碼都塞在一個檔案中,但隨著程式碼越來越多,如果所有檔案都擠在一個 py
檔案就會顯得又臭又長,且難以多人分工維護。
當每個 py
檔案都只負責其中的一小功能,就能夠好好的分門別類,甚至同時被其他程式所引用,這也是為什麼會看到一開始就會看到許多檔案的關係。 不過如果分得太碎,實務上也是很常會有迷路的問題。 在寫程式時,除了利用函式與類別減少重複性外,學會程式碼分類放置也是非常重要的好習慣!
在這篇文章中,我們學會了: